﻿
var elementosSeleccionados = null;
$(document).ready(function() {

	$(".checboxPersonalizada").click(customClickCheckbox);

	$(".checboxPersonalizada.chart").click(selectAllExceptOne);
	
	$("div.checboxPersonalizada.seleccionarTodo").bind("click", function(){
		var id = $(this).attr("id");
		id = id.replace("Div", "");
		
		if($("input#" + id).is(':checked')){
			$(this).parents().filter('fieldset').find("input[type=checkbox]").filter(":not(.seleccionarTodo)").attr('checked',"checked");
			$(this).parents().filter('fieldset').find(".checboxPersonalizada").filter(":not(.seleccionarTodo)").addClass('checked');		
		}else{
			$(this).parents().filter('fieldset').find("input[type=checkbox]").filter(":not(.seleccionarTodo)").removeAttr("checked");
			$(this).parents().filter('fieldset').find(".checboxPersonalizada").filter(":not(.seleccionarTodo)").removeClass('checked');
		}	
	});
	
	$(".checboxPersonalizada").click(function() {
		comprobarNumUsuariosSeleccionados(this);
	});
});

function selectAllExceptOne(e){	
	if($(".checboxPersonalizada.chart.checked").size() == 0){
		$(this).addClass("checked");
	}
}

function customClickCheckbox() {
	var id = $(this).attr("id");
	id = id.replace("Div", "");

	if ($(this).hasClass("checked")) {
		$('input#' + id).removeAttr("checked");
	} else {
		$('input#' + id).attr("checked", "checked");
	}
	
	$(this).toggleClass("checked");		
	$(this).parents().filter('.bloque').toggleClass("selected");	
}

function comprobarNumUsuariosSeleccionados(sender){
	var numElementos = 0;	
	
	elementosSeleccionados = $(sender).parents().find('fieldset').find(".checboxPersonalizada.checked:not(.seleccionarTodo)");
	numElementos = elementosSeleccionados.size();
	//Actualizar visibilidad de iconos de la barra de la legend
	actualizarVisibilidadBotones($(sender).parents().filter('fieldset').find("legend input[type=button]"),numElementos);
	
	//Actualizar visibilidad de iconos de la barra de navigation
	actualizarVisibilidadBotones($("#sticky_nav #navBarraHerramientas").find("input[type=button]"),numElementos);
}

function actualizarVisibilidadBotones(botones,numElementos){
	$(botones).each(function(index) {
		var max = $(this).attr("max");			
		if(!max){
			max = Infinity;
		}
		
		var min = $(this).attr("min");
		if(!min){
			min = -Infinity;
		}

		if(numElementos >= min && numElementos <=max){
			//Eliminar activado
			$(this).removeAttr("disabled");
			$(this).removeClass("inactivo");
		}else{						
			//Eliminar desactivado
			$(this).attr("disabled","disabled");
			$(this).addClass("inactivo");
		}
	});

}

